chore(ci): add 14-minute timeout to claude-review job#18
Merged
Conversation
Bounds the `claude-review` job's wall-clock time so a hung `anthropics/claude-code-action@v1` run (observed on #8) can't consume a runner for hours before GitHub Actions' default 6-hour job timeout kicks in. The `14`-minute value is tailored from this repo's observed `claude-review` run durations across the last 30 successful runs, using `max(8, ceil(p95_minutes * 2) + 2)` — 2x p95 + 2-minute safety margin, floored at 8 minutes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
e026b27 to
97222a1
Compare
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an explicit
timeout-minutes: 14to theclaude-reviewjob in.github/workflows/claude-code-review.yml.Without this, the job inherits GitHub Actions' default 6-hour timeout, which means a hung
anthropics/claude-code-action@v1run (observed on #8) consumes runner minutes and leaves a stalein_progressstatus check on the PR for hours.Tailored timeout
The
14-minute value is derived from this repo's observedclaude-reviewrun times across the last 30 successful runs:Formula:
max(8, ceil(p95_minutes * 2) + 2)— 2× p95 + 2-minute safety margin, floored at 8 minutes. This gives each repo a bound that's generous relative to its own historical upper-bound while still catching future hangs within a reasonable window.Test plan
timeout-minutesline is added)claude-reviewrun on this repo should complete normally within the timeoutContext
Companion PRs are being opened across all 10 layervai repos that use this workflow, each with its own tailored timeout based on the repo's p95. Motivated by the stuck run at https://github.com/layervai/qurl-python/actions/runs/24288312714 which burned ~18 minutes before manual cancellation.